#include <iostream>
#include "cd.h"
#include "cd.cpp"
using namespace std;
void Bravo(Cd &disk);
int main()
{
    Cd c1("Beatles", "Capitol", 14, 35.5);
    Classic c2=Classic("Piano Sonata in B flat, Fantastic in C", "Alfred Brendel", "philips", 2, 57.17);
    Cd *pcd=&c1;

    cout<<"Using object directly:"<<endl;
    c1.Report();
    c2.Report();

    cout<<"Using type Cd* pointer to objects:"<<endl;
    pcd->Report();
    // Classic *pd=&c2;
    pcd=&c2;
    pcd->Report();

    cout<<"Calling a function with a Cd reference argument"<<endl;
    Bravo(c1);
    Bravo(c2);

    cout<<"Testing assignment: "<<endl;
    Classic copy;
    copy=c2;
    copy.Report();
    return 0;
}

void Bravo(Cd &disk)
{
    disk.Report();
}